<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
                xmlns:ui="http://java.sun.com/jsf/facelets"
                template="/templates/mantenimiento.xhtml"
                xmlns:h="http://java.sun.com/jsf/html"
                xmlns:f="http://java.sun.com/jsf/core"
                    
                xmlns:r="http://richfaces.org">
    <ui:define name="title">
        Administración de Acciones
    </ui:define>    
    <ui:define name="datos">
        <h:panelGrid id="panelDatos">
            <h:form id="formDatos">
                <center>
                    <h:panelGrid width="100%" styleClass="center">

                        <h:panelGrid columns="4">
                            <h:graphicImage library="images/ajax" name="bullet.gif" styleClass="pic" />
                            <h:outputText value="Seleccionar sistema:" />
                            <h:selectOneListbox  label="Sistema" id="sistema"  converter="JsfConverterSistema"  value="#{jsfPerfil.sistema}" >
                                <f:selectItems value="#{jsfPerfil.selectedItemSistema}" var="item"/>
                                <f:ajax event="change" execute="sistema" render="panel2 :formDatos1" listener="#{jsfPerfil.cargarRolesSistema}"/>
                            </h:selectOneListbox>
                            <r:message for="sistema"/>
                        </h:panelGrid>


                        <r:panel header="Asignar acciones a rol (#{empty jsfPerfil.sistema?'SELECCIONE UN SISTEMA':jsfPerfil.sistema.nombre})" styleClass="fondoPanel" id="panel2">
                            <h:panelGrid columns="4">
                                <h:selectOneListbox label="Roles"  id="selectRol" converter="JsfConverterRol" value="#{jsfPerfil.rol}" size="15" >
                                    <f:selectItems  value="#{jsfPerfil.selectedItem}" var="item" >
                                    </f:selectItems>
                                    <f:ajax event="change" execute="selectRol" listener="#{jsfPerfil.cargarAcciones}" render="listShuttleAccion"/>
                                </h:selectOneListbox>
                                <r:message for="selectRol"/>

                                <r:pickList id="listShuttleAccion"     converter="JsfConverterAccion" value="#{jsfPerfil.accionesAsignados}"   
                                               targetCaption="Acciones asignadas"  sourceCaption="Acciones No asignadas" listHeight="200px" >
                                    <f:selectItems value="#{jsfPerfil.selectedItemAccionesNoAsignadas}"/>
                                    <f:selectItems value="#{jsfPerfil.selectedItemAccionesAsignadas}"/>
                                </r:pickList>
                                <r:message for="listShuttleAccion"/>
                            </h:panelGrid>
                            <r:message for="formDatos">
                                <f:facet name="errorMarker">
                                    <h:graphicImage library="images/ajax" name="warning.gif"/>
                                </f:facet>
                                <f:facet name="infoMarker">
                                    <h:graphicImage library="images/ajax" name="passed.gif"/>
                                </f:facet>
                            </r:message>
                            <h:commandButton  value="Guardar" action="#{jsfPerfil.asignarAccionRolAction}">
                                <f:ajax execute="listShuttleAccion" event="action" render="panel2"/>
                            </h:commandButton>
                        </r:panel>
                    </h:panelGrid> 
                </center>
            </h:form>
            <h:form id="formDatos1">

                <r:panel header="Asignar Roles a Usuario (#{empty jsfPerfil.sistema?'SELECCIONE UN SISTEMA':jsfPerfil.sistema.nombre})" styleClass="fondoPanel" id="panel3">
                    <h:panelGrid>
                        <h:panelGrid columns="4">
                            <h:selectOneListbox label="Roles"  id="selectUsuario" converter="JsfConverterUsuario" value="#{jsfPerfil.usuario}" 
                                                size="15" >
                                <f:selectItems  value="#{jsfUsuario.selectedItem}" var="item" >
                                </f:selectItems>
                                <f:ajax event="change" execute="selectUsuario" listener="#{jsfPerfil.cargarRoles}" render="listShuttleRol"/>
                            </h:selectOneListbox>
                            <r:message for="selectUsuario"/>
                            <r:pickList id="listShuttleRol"    converter="JsfConverterRol"  value="#{jsfPerfil.rolesAsignados}" 
                                           targetCaption="Roles asignados"  sourceCaption="Roles No asignadas" listHeight="200px">
                                <f:selectItems value="#{jsfPerfil.selectedItemRolesNoAsignadas}"/>
                                <f:selectItems value="#{jsfPerfil.selectedItemRolesAsignadas}"/>
                            </r:pickList>
                            <r:message for="listShuttleRol"/>
                        </h:panelGrid>
                        <r:message  for="formDatos1">
                            <f:facet name="errorMarker">
                                <h:graphicImage library="images/ajax" name="warning.gif"/>
                            </f:facet>
                            <f:facet name="infoMarker">
                                <h:graphicImage library="images/ajax" name="passed.gif"/>
                            </f:facet>
                        </r:message>
                        <h:commandButton value="Guardar Roles" action="#{jsfPerfil.asignarRolUsuarioAction}">
                            <f:ajax execute="listShuttleRol" event="action" render="panel3"/>
                        </h:commandButton>
                    </h:panelGrid> 
                </r:panel>
            </h:form>
        </h:panelGrid>
    </ui:define>
</ui:composition>
